/**
 *
 */
//状态变量
let state = null;
// 声明 useState 函数
function useState(initValue) {
  //更新状态值
  //判断 第一次设置初始值
  if (state === null) {
    state = initValue;
  }
  //更新状态的函数
  function setV(newV) {
    //判断新值的类型
    if (typeof newV === "function") {
      //执行函数
      let result = newV(state);
      //更新状态
      state = result;
    } else {
      //如果 newV 不是函数, 直接赋值
      state = newV;
    }
  }

  return [state, setV];
}

// {
//   let [count, setCount] = useState(0);
//   //更新状态
//   setCount(100);
//   //
//   setCount((count) => {
//     console.log(count);
//   });
// }

// {
//   let [count, setCount] = useState(0);
//   //更新状态
//   console.log(count);
// }

// {
//   //创建状态
//   let [count, setCount] = useState(0);
//   //更新状态
//   setCount(1);
//   //输出 count
//   console.log(count);
// }

// {
//   let [count, setState] = useState(0);
//   console.log(count);
// }

{
  let [count, setCount] = useState(0);
  //更新状态
  setCount(count => count + 1);
}

{
  let [count, setCount] = useState(0);
  console.log(count);
}

// {
//   let [count, setCount] = useState(0);// setCount(1);
//   // console.log(count);
//   //更新状态
//   setCount(1);
// }

// {
//   let [count, setCount] = useState(0);//
//   //更新状态
//   // console.log(count);
//   setCount(2);
// }

// {
//   let [count, setCount] = useState(0);//
//   //更新状态
//   console.log(count);
// }
